package com.jvxb.manage.livable.entity;

import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;

/**
 * @author jvxb
 * @since 2022-01-07
 */
@Data
@TableName("work_order")
public class WorkOrder implements Serializable {

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 创建人id
     */
    private Long createrId;
    /**
     * 创建人
     */
    private String creator;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * 预约执行时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date upTime;
    /**
     * 工单标题
     */
    private String title;
    /**
     * 工单说明
     */
    private String createDesc;
    /**
     * 环境
     */
    private String env;
    /**
     * 0未审核,1审批通过,2审批不通过,3运行中,4执行驳回,5执行成功,6执行异常,99结单，其它自定义
     */
    private String orderStatus;
    /**
     * 审核时间
     */
    private Date checkTime;
    /**
     * 审批人
     */
    private String approvers;
    /**
     * 执行时间
     */
    private Date executeTime;
    /**
     * 执行结束时间
     */
    private Date executeEndTime;
    /**
     * 签收时间
     */
    private Date signTime;
    /**
     * 执行人id
     */
    private Long executeId;
    /**
     * 执行人
     */
    private String operator;
    /**
     * 优先级
     */
    private String priority;
    /**
     * 阅读人
     */
    private String readers;
    /**
     * 工单类型
     */
    private String processType;
    /**
     * 小标题
     */
    private String subhead;

    /**
     * 当前处理人
     */
    private String assignee;
    /**
     * 集群id
     */
    private Long clusterId;
    /**
     * 数据库类型
     */
    private String dbType;
    /**
     * 转发信息
     */
    private String transpond;
    /**
     * 1 表示顺序审批，其他值为多人同时审批
     */
    private String isOrder;
    /**
     * 审批通过后回调接口（post）
     */
    private String approveCallback;
    /**
     * 执行成功后回调接口（post）
     */
    private String executeCallback;
    /**
     * 终止时回调方法（post）
     */
    private String terminateCallback;
    /**
     * 异常原因
     */
    private String errMsg;
    /**
     * 预留参数1
     */
    private String param1;
    /**
     * 预留参数2
     */
    private String param2;

    public static final String ID = "id";

    public static final String CREATER_ID = "creater_id";

    public static final String CREATOR = "creator";

    public static final String CREATE_TIME = "create_time";

    public static final String TITLE = "title";

    public static final String CREATE_DESC = "create_desc";

    public static final String ENV = "env";

    public static final String ORDER_STATUS = "order_status";

    public static final String CHECK_TIME = "check_time";

    public static final String APPROVERS = "approvers";

    public static final String EXECUTE_TIME = "execute_time";

    public static final String EXECUTE_END_TIME = "execute_end_time";

    public static final String SIGN_TIME = "sign_time";

    public static final String EXECUTE_ID = "execute_id";

    public static final String OPERATOR = "operator";

    public static final String PRIORITY = "priority";

    public static final String READERS = "readers";

    public static final String PROCESS_TYPE = "process_type";

    public static final String SUBHEAD = "subhead";

    public static final String ASSIGNEE = "assignee";

    public static final String CLUSTER_ID = "cluster_id";

    public static final String DB_TYPE = "db_type";

    public static final String TRANSPOND = "transpond";

    public static final String IS_ORDER = "is_order";

    public static final String APPROVE_CALLBACK = "approve_callback";

    public static final String TERMINATE_CALLBACK = "terminate_callback";

    public static final String ERR_MSG = "err_msg";

    public static final String PARAM1 = "param1";

    public static final String PARAM2 = "param2";

    private static final long serialVersionUID = -8742520630519899219L;
}
